Method and system for advanced downloading of URLS for WEB navigation

ABSTRACT

A method, computer program product, and system for providing advanced downloading of Uniform Resource Locators (URLs) for a WEB browser running on a computer. The system is capable of providing a WEB browser with Uniform Resource Locators (URLs). The system comprises a client computer and a server. The client computer includes the WEB browser for use by a user and includes a URL component. The server provides WEB data to the client computer. The server includes a URL downloader, which is responsive to the URL component for downloading the URLs to the client computer.

FIELD OF THE INVENTION

The present invention relates to information retrieval in computernetworks, and more particularly to a method and system for advanceddownloading of URLs for WEB navigation.

BACKGROUND OF THE INVENTION

The Internet provides for the collective resources available withinlarge networks to be shared among users. The growth of the Internet hasallowed sharing of computer resources to be brought to wide audiences.For many companies, Internet sites are an integral part of the business,offering customers detailed information on available products, providingcustomers with a direct means of making purchases, and serving as aconduit between technical support operations and customers in need ofservice.

The World Wide Web (“the WEB”) is the Internet's multimedia informationretrieval system. Client machines engage in transactions with WEBservers using the Hypertext Transfer Protocol (HTTP), which is a knownprotocol providing users with access to files (e.g., text, graphics,sound, or video) using the Hypertext Markup Language (HTML). HTMLprovides for document formatting and allows the developer to specifylinks to other files, often located on other servers. Network paths toservers are identified by a Uniform Resource Locator (URL) having aspecial syntax for defining a network connection.

Information is generally retrieved using an HTML compatible browser,such as Microsoft Internet Explorer™, on a client machine. WEB browsershave become the primary interface for access to most Internet services.When the user of the browser enters a URL, the client PC issues arequest to a naming service to map the hostname specified in the URL toa network IP address where the server is located. Using the IP address,the browser establishes a connection to the server and retrieves therequested file, which is usually an HTML encoded WEB page.

Entering a URL into the address field of a WEB browser can be adifficult task for many users, particularly when they are unfamiliarwith the WEB site they are visiting. While the URL for a WEB page can bebrief (e.g., www.ibm.com), sub-pages can have lengthy URLs in what mayappear to be an arcane syntax. Some versions of Microsoft InternetExplorer™, Netscape Navigator™, and Mozilla™ have added features, suchas history and auto-complete features that remember URLs previouslyvisited by the user. The history and auto-complete features provide thecompleted URL to the user as a selection when the user either begins toenter a URL in the address field that begins with the same characters orchooses to browse a history window. However, these conventional WEBbrowser features require that the user has previously visited the URLthe user is seeking, offering little help if the user has never visitedthe WEB page before. Additionally, these conventional WEB browserfeatures fail to provide URLs to the user in an easy to navigatehierarchy.

In view of the problems associated with conventional WEB browsers, itwould be desirable to have a WEB browser that already knows the URLs ofpages a user might wish to visit and provides these URLs to the user ina way that is easy to understand, easy to navigate, and easy for theuser to select the URL being sought.

SUMMARY

Embodiments of the present invention provide a method, computer programproduct, and system for providing a WEB browser on a computer of a userwith advanced downloading of URLs. In one aspect, a WEB browser featureis provided so that the WEB browser already knows the URLs of pages auser might wish to visit and provides these URLs to the user in a waythat is easy to understand, easy to navigate, and easy to select.

In accordance with one aspect of the present invention, a method forproviding downloading of URLs for a WEB browser running on a computer isprovided. The method utilizes a server to query the WEB browser when auser arrives at a WEB site hosted on the server to see if a URLcomponent exists on the computer and provides the URL component with acurrent set of URLs associated with the WEB site, if the URL componentexists on the computer. The method may further provide the user with anoption to install the URL component on the computer if the URL componentis not already installed on the computer and the method installs the URLcomponent on the computer if the user chooses to install the URLcomponent. The method may also ask the user to select the URLs that theuser wishes to download to compile the set of URLs provided to the URLcomponent before providing the URL component with the current set ofURLs associated with the WEB site. The method may further ask the userwhether or not to download the set of URLs associated with the WEB sitebefore providing the URL component with the current set of URLsassociated with the WEB site and making the step of providing the URLcomponent with the current set of URLs associated with the WEB siteconditional on a response from the user. The function of asking the userwhether or not to download the set of URLs associated with the WEB sitemay be performed by an item selected from the group consisting of theWEB browser, the URL component, and a servlet that is installed on theserver. In one alternative, the URL component and a set of URLs may beprovided to the computer in advance when a software application isinstalled. The process of providing the URL component with the currentset of URLs associated with the WEB site may be performed automaticallyusing metatags in HTML code of the WEB site. The method may furthercomprise the step of storing the set of URLs provided to the URLcomponent in a data file associated with the WEB browser on the computerof the user. The set of current URLs can be stored in the data fileselected from the group consisting of a history data file, anauto-complete data file, and a site-map data file. The method mayfurther monitor keystrokes of the user when the user types a URL in anaddress field of the WEB browser and present the user with a selectionof URLs that begin with the keystrokes the user has entered so far, theselection of URLs taken from the current set of URLs provided to the URLcomponent. The process of presenting the user with the selection of URLsmay be performed in a top down fashion such that the user navigatesthrough a directory tree of the WEB site one level at a time, beginningone level below the URL the user has entered into the address field, toselect a URL that the user wishes to arrive at from the selection ofURLs. The method functions even if the user has not previously visitedthe WEB site with the WEB browser that the user is using.

In accordance with another aspect of an embodiment of the presentinvention, there is provided a computer program product having acomputer readable medium tangibly embodying computer executableinstructions for providing downloading URLs for a WEB browser running ona computer. The computer program product comprises computer executableinstructions for utilizing a server to query the WEB browser when a userarrives at a WEB site hosted on the server to see if a URL componentexists on the computer and computer executable instructions forproviding the URL component with a current set of URLs associated withthe WEB site. The computer program product may further include computerexecutable instructions for providing the user with an option to installthe URL component on the computer, if the URL component is not alreadyinstalled on the computer and computer executable instructions forinstalling the URL component on the computer if the user chooses toinstall the URL component.

In accordance with yet another aspect of an embodiment of the presentinvention, there is provided a system for providing a WEB browser withURLs. The system comprises a client computer and a server. The clientcomputer includes the WEB browser for use by a user and a URL component.The server provides WEB data to the client computer and includes a URLdownloader, the URL downloader being responsive to the URL component fordownloading the URLs to the client computer. The URL component maycomprise plug-in installed on the client computer. The plug-in may bedownloadable from the server. The URL component may be downloaded andinstalled in response to a user input on the client computer. The URLcomponent may store the URLs in a data file associated with the WEBbrowser on the client computer. The data file may be selected from thegroup consisting of a history data file, an auto-complete data file, ora site-map data file. The URL component may be an application that runsin the WEB browser or an integral part of the WEB browser.

Other aspects and features of embodiments of the present invention willbecome apparent to those of ordinary skill in the art upon review of thefollowing description of specific embodiments of the invention inconjunction with the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made to the accompanying drawings which show, byway of example, embodiments of the present invention, and in which:

FIG. 1 is a schematic diagram of a computer system suitable forpracticing the present invention;

FIG. 2 is a schematic diagram of an exemplary computer system suitablefor utilizing the present invention;

FIG. 3 is a block diagram of a data processor for the computer system ofFIG. 1 or FIG. 2;

FIG. 4 is an example of a WEB site directory tree structure throughwhich a user may navigate;

FIG. 5 is a flow diagram illustrating a process in accordance with oneaspect of the present invention; and

FIG. 6 is a flow diagram illustrating a process in accordance withanother aspect of the present invention.

Similar references are used in different figures to denote similarcomponents.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The following detailed description of embodiments of the presentinvention does not limit the implementation of the embodiments to anyparticular computer programming language or hardware architecture. Thecomputer program may be implemented in computer executable instructionsin any suitable computer programming language. According to oneembodiment, the invention is implemented in the C/C++ computerprogramming language (or may be implemented in other computerprogramming languages in conjunction with C/C++). Any limitationspresented would be a result of a particular type of operating system,computer programming language, or data processing system and would notbe a limitation of the embodiments described herein.

Referring to FIG. 1, a computer system 20 is shown that is suitable forimplementing the present invention. The computer system 20 generallycomprises a server 22 and a number of clients 24, indicated individuallyas 24 a, 24 b . . . 24 n. Server 22 and clients 24 may be interconnectedby a network 26. Server 22 is modeled as a number of server componentsincluding an application or business logic server, a graphical userinterface server, a database server or resource manager, or an Internetserver. Clients 24 may comprise computers, data processing systems,workstations, handheld portable information devices, or computernetworks. Clients 24 may be the same or different. In one example,network 26 comprises the Internet or the Web. In such a case, clientcomputers 24 are equipped with WEB browser programs such as MicrosoftInternet Explorer™, Netscape Navigator™ or Mozilla™. Server 22 isequipped with appropriate HTTP server software, such as the WebSphere™product from IBM™. In another example, network 26 comprises a wirelesslink, a telephone communication, a radio communication, or computernetwork (e.g. a Local Area Network (LAN) or a Wide Area Network (WAN)).

Computer system 20 may further include resources 28, indicatedindividually as 28 a, 28 b . . . 28 n, connected to server 22. Resources28 may comprise storage media, mainframes such as the S/390 or AS/400platforms from IBM™, databases (e.g., a relational database such as theDB2™ product from IBM), a set of extensible Markup Language (XML)documents, a directory service such as a Lightweight Directory AccessProtocol (LDAP) server, or backend systems. The interface between server22 and resources 28 may comprise a LAN, the Internet, or a proprietaryinterface. Resources 28 are accessed by server 22 and clients 24. Server22, clients 24, and resources 28 may be located remotely from oneanother or may share a location.

Reference is now made to FIG. 2, which shows a computer system 30suitable for implementing the present invention. Computer system 30generally comprises a server 32, a host system 34, and clients 24, shownindividually as 24 a, 24 b . . . 24 n (similar to the clients 24described above with reference to FIG. 1). In one configuration, hostsystem 34 may be an S/390 AS/400 mainframe from IBM™. Clients 24 connectto server 32 via the Internet 36. In one implementation, server 32comprises an Internet or application server. A user interface (notshown) is presented to clients 24 using HTML based pages, for example.Business logic may be implemented on server 32 using Enterprise JavaBeancomponents (EJB) for the object layer. The server 32 runs a WEB serverapplication 38 and a servlet 40. WEB server application 38 includes WEBpages 42 that are provided to clients 24 and a collection of advancedURLs 44 that are provided to clients 24. Clients 24 compriseworkstations running a Windows™ family operating system such as WindowsXP™ from Microsoft™. Client machines 24 run a WEB browser 46 such asMicrosoft Internet Explorer™ or Netscape Navigator™, as shown inconnection with client 24 a. All further examples of client machinesrunning WEB browser 46 will be discussed in relation to client 24 a,however it is to be understood that any of clients 24 may run WEBbrowser 46. WEB browser 46 has access to a plug-in 48 that is installedon client 24 a and data files 50 that the WEB browser maintains on theclient. In one example, plug-in 48 may be an applet.

Reference is next made to FIG. 3, which shows a data processor 60 forcomputer system 20 (FIG. 1) or 30 (FIG. 2). Data processor 60 generallycomprises a processor 62, a memory 64, a display 66, and user inputdevices 68. User input devices 68 may include a keyboard and a pointingdevice (e.g. a mouse or touch screen), and a communication interface(not shown) for communicating with network 26 (FIG. 1) or 36 (FIG. 2).An operating system 70 and application programs 72 and 74 may run onprocessor 62. Memory 64 comprises Random Access Memory (RAM) 76, ReadOnly Memory (ROM) 78, and a hard disk 80. Data processor 60 may comprisea client or a server.

When a user navigates a WEB site hosted on server 32 using one ofclients 24, the user often encounters a WEB site design that isdifferent from other WEB sites the user may have visited in the past.The freedom WEB designers have in designing a WEB site gives WEBdesigners tremendous control and versatility to create unique andpowerful sites. However, this freedom also results in WEB sites beingsubstantially different from one another, often making it difficult forthe user to locate the desired information. Search functions aresometimes available, but often yield inaccurate or painfully voluminousresults.

In one aspect, the present invention provides for the advanceddownloading of advanced URLs 44 into browser data files 50 such thatbrowser 46 on client 24 a, when in use by the user anticipates thecomplete path of the URL that the user is typing and allows the user toselect an appropriate URL, just as though the user had previouslyvisited all of WEB pages 42 of Internet server 32 that the user iscurrently navigating. Browser data files 50 may comprise browserhistory, auto-complete, and/or site-map data files.

Referring to FIG. 4, a WEB site directory tree or hierarchy 80 is shown,which represents the layout of a WEB site hosted on Internet server 32.For this example, the WEB site resides at www.ibm.com. The site addresswww.ibm.com is used for the purpose of an example only is in no wayrepresentative of the actual content of www.ibm.com. Directory tree 80has a top level representing the home page www.ibm.com. From the toplevel of the home page, a user may select a link that takes the user toa branch 84 or a branch 82. Branch 84 has a number of sub-branches 86,individually indicated as 86 a, 86 b . . . 86 n. Branch 82 is selectedwhen a user clicks on a “products” link from the home page. Branch 82has a number of sub-branches 88, indicated individually as 88 a, 88 b,88 c, and 88 d. Each of sub-branches 88 has a number of leaves. Forexample, if the user selects “servers” from sub-branch 88 a, the user ispresented with leaves 90, individually indicated as 90 a, 90 b, 90 c,and 90 d. Character 90 a represents a WEB page dedicated to P-seriesservers, character 90 b represents Z-series servers, character 90 crepresents X-series servers, and character 90 d represents I-seriesservers. In the present example, if the user visits www.ibm.com,Internet server 32 presents the user with an option to download aselected set of the URLs for the www.ibm.com WEB site. After thedownloading is complete, and during all subsequent visits towww.ibm.com, the user has a list of pre-defined URLs to choose from thatare available either in an address field of browser 46 as theauto-complete function operates or in a site-map window that functionssimilarly to the history window of browser 46. This allows the user tonavigate www.ibm.com in an easier, quicker, and more efficient manner.

In another aspect of the present invention, the functioning of theauto-complete and site-map window features of the browser 46 aremodified. Conventional auto-complete features in WEB browsers, such asbrowser 46, operate such that, as the user begins to type a URL into theaddress field of WEB browser computer 24 a, the user offered a list ofURLs to the user that begin with the same characters that the user hasentered. According to this aspect, WEB browser 46 provides anauto-complete function where all potential URLs that fall below thelevel of the URL that the user has entered so far in tree 80 of the WEBsite are shown to the user, one level at a time, such that the user can“drill down” through tree structure by clicking on each branch, one at atime. For the example depicted in FIG. 4, when a user arrives atwww.ibm.com and begins to type “www.ibm.com/products” in the addressfield of browser 46, the browser presents the user with a selectioncomprising all the products that exist in directory tree 80 below theproducts level (e.g., choose from servers at 88 a, PCs at 88 b, softwareat 88 c, or service at 88 d). According to this aspect of the presentinvention, browser 46 can restrict choices to one of those four optionsand not present the user with the options below that level in directorytree 80 until the user chooses one of those four options, so as not toconfuse the user. If the user chooses “servers”, the user is thenpresented with the next level of options that are available one levelbelow (e.g., the user is then able to select between different serverlines, such as P-series at 90 a, Z-series at 90 b, X-series at 90 c, andI-series at 90 d). If the user selects P-series, browser 46 then arrivesat the URL http://www.ibm.com/products/servers/p-series/index.html, andpresents the corresponding WEB page 42 to the user in WEB browser 46. Ifthe user had never visited www.ibm.com before, finding such a URL mayhave presented a difficult task. Additionally, if the conventionalauto-complete feature of the user's browser 46 had been populated withall URLs from www.ibm.com and the “drill-down” feature of the presentinvention was not provided, the moment the user typedwww.ibm.com/products, the user would have been presented with a verylarge list of possible completed URLs representing all destinations inthe tree below the products level. This would be confusing and take muchtime to look through. Implementation of the present invention may beeasiest with WEB sites that have a clean hierarchy or directorystructure 80. A confusing or complicated hierarchy should be simplifiedbefore implementing the present invention. Alternatively, a virtualdirectory may be placed on Internet server 32.

The downloading of advanced URLs 44 into browser 46 history,auto-complete, and/or site-map data files 50 may be accomplished in anumber of ways. The URLs may be delivered according to a passive methodthat requires no intervention by the user. Plug-in 48 is installed onuser's machine 24 a such that the plug-in extracts metatags from an HTMLdocument delivered to the user's machine by server 32. Plug-in 48populates browser 46 data files 50 in a way that is seamless to the userof the browser. In another variation, the advanced URLs 44 are deliveredin an active manner that allows the user of browser 46 on client 24 a tointeract with server 32 and either approve or disapprove of downloadingof the advanced URLs or select specific URLs for downloading. The activemanner can make use of servlet API 40 that may be installed on theinternet or application server 32. Servlet 40 may be responsible fordelivering advanced URLs 44 to users who visit the WEB page 42 hosted byInternet server 32. A request is issued from plug-in 48 to servlet 40requesting the downloading of the advanced URLs 44 and the servletresponds by granting the request and supplying the advanced URLs.Alternatively, when the user visits WEB page 42, servlet 40 notifiesplug-in 48 that advanced URLs 44 are available. Plug-in 48 may then askthe user if the user wishes to download some or all of the advanced URLs44. Servlet 40 then supplies all of the advanced URLs 44, some of theadvanced URLs, or none of the advanced URLs to plug-in 48 based on theuser's response. In another variation, servlet 40 is responsible fortranslating complex tree structures into more comprehensible directorytrees, but server 32 alone may be responsible for delivering plug-in 48and advanced URLs 44 to client 24 a. In yet another variation, theadvanced URLs 44 are added to the user's browser 46 during theinstallation of new software. For example, if the user purchases andinstalls a DB2™ product from IBM, the installation routine of the DB2™product may ask the user if the user wishes to install plug-in 48 and/oradvanced URLs 44 related to the DB2™ product. If the user elects toinstall advanced URLs 44 related to the software product, the next timethe user visits www.ibm.com, the user is able to make use of advancedURLs as described above to retrieve information or obtain customersupport related to the DB2™ product. In a further variation, theadvanced URLs 44 are available from a search engine such as Google™. Ifa user performs a search for a product that is found on the www.ibm.comWEB site, Google™ displays the www.ibm.com hit and offers plug-in 48and/or advanced URLs 44 to the user.

Reference is next made to FIG. 5, which shows an example in flowchartfor a process 100 that implements the active delivery method for thedownloading of advanced URLs 44 according to the present invention.Process 100 comprises a user input stage 102, a decision stage 104, auser input stage 106, an action stage 108, an end stage 110, a decisionstage 112, a user input stage 114, an action stage 116, an action stage118, and a user input stage 120. Process 100 begins at input stage 102when the user visits WEB page 42 on Internet server 32. At stage 104,Internet server 32 checks client machine 24 a to see if the appropriateplug-in 48 is installed. If plug-in 48 is installed, process 100proceeds to stage 112. If plug-in 48 is not installed, process 100proceeds to stage 106 and asks the user if plug-in 48 is to be installedon client machine 24 a. If the user does not want plug-in 48 installedon client machine 24 a, process 100 terminates at end stage 110. If theuser elects to install plug-in 48, process 100 proceeds to stage 108,installs plug-in 48, and further proceeds to stage 112. Alternatively,another example of a URL component to provide advanced URLs 44 isavailable by way of code integrated as part of the browser rather thanby use of plug-in 48. At stage 112, Internet server 32 checks to see ifadvanced URLs 44 for WEB page 42 have already been downloaded to client24 a and if the client has the latest version of the advanced URLs(e.g., have browser 46 data files 50 already been populated with thelatest version of the advanced URLs of the WEB page). If the downloadingof URLs 44 has already occurred and the newest version of the advancedURLs is present, process 100 proceeds to the stage 118. If thedownloading of advanced URLs 44 has not yet occurred or the advancedURLs are not up to date, process 100 proceeds to stage 114 and asks theuser if the advanced URLs of WEB page 42 are to be downloaded. At stage114, the user may also elect to download select URLs (e.g., some of URLs44, but not others). If the user elects to download some or all of theadvanced URLs, process 100 proceeds to stage 116 and servlet 40 onInternet server 32 provides some or all of the advanced URLs to WEBbrowser 46 for storage in data files 50. Alternatively, servlet 40 maytranslate complex WEB site directory structures into simpler structuresand compile advanced URLS 44 or server 32 alone may be responsible forproviding some or all of the advanced URLs to WEB browser 46 for storagein data files 50. Process 100 then proceeds to action stage 118. If theuser elects to download none of advanced URLs 44 at stage 114, process100 terminates at end stage 110. Action stage 118 may comprise the mainprogram portion executed by plug-in 48 where the user is provided withadvanced URLs 44 during navigation of WEB pages 42 in accordance withthe description provided above. Stage 118 continues to execute (e.g.,plug-in 48 continues to function) as long as the user remains anywherewithin directory tree 80 (e.g., within WEB pages 42 stored on Internetserver 32). Once the user leaves directory tree 80 (e.g., by going to adifferent WEB site), process 100 terminates at end stage 110.

Reference is next made to FIG. 6, which shows an example in flowchartform of a process 150 for the passive delivery method for thedownloading of advanced URLs 44 as described above. Process 150 issimilar to process 100, except that process 150 does not use servlet 40and the delivery of advanced URLs 44 to client 24 a is seamless to theuser of the client. Process 150 comprises a user input stage 152, adecision stage 154, a user input stage 156, an action stage 158, an endstage 160, a decision stage 162, an action stage 164, an action stage166, and a user input stage 168. Process 150 begins at input stage 152when the user visits WEB page 42 on Internet server 32. At stage 154,Internet server 32 checks client machine 24 a to see if the appropriateplug-in 48 is installed to implement the present invention. If plug-in48 is installed, process 150 proceeds to stage 162. If plug-in 48 is notinstalled, process 150 proceeds to stage 156 and asks the user ifplug-in is to be installed on the client machine 24 a. If the user doesnot want plug-in 48 installed on client machine 24 a, process 150terminates at end stage 160. If the user elects to install plug-in 48,process 150 proceeds to stage 158, installs plug-in 48, and thenproceeds to stage 162. At stage 162, Internet server 32 checks to see ifthe downloading of advanced URLs 44 for WEB pages 42 has already beenperformed for client 24 a and if the client has the latest version ofthe advanced URLs (e.g., have browser 46 data files 50 already beenpopulated with the latest version of the advanced URLs of the WEBpages). If the downloading of advanced URLs 44 has already occurred anddata files 50 are up to date, process 150 proceeds to main stage 166. Ifthe downloading of advanced URLs 44 has not yet occurred or data files50 are not up to date, process 150 proceeds to the stage 164 anddelivers advanced URLs of WEB page 42 to the data files of browser 46.In one example, advanced URLs 44 are delivered to plug-in 48 as HTMLmetatags in an HTML document belonging to WEB page 42. Process 150 thenproceeds to action stage 166. Action stage 166 may comprise the mainprogram portion executed by plug-in 48 where the user is provided withadvanced URLs 44 to WEB page 42 in accordance with the descriptionprovided above. Stage 166 continues to execute (e.g., plug-in 48 maycontinue to function) as long as the user remains anywhere within thedirectory tree 80 (e.g., within the WEB pages stored on Internet server32). Once the user leaves directory tree 80 (e.g., by going to adifferent WEB site), process 150 terminates at the end stage 160.

The present invention may be embodied in other specific forms withoutdeparting from the spirit or characteristics thereof. Certainadaptations and modifications of the invention will be obvious to thoseskilled in the art. Therefore, the presently discussed embodiments areconsidered to be illustrative and not restrictive, the scope of theinvention being indicated by the appended claims rather than theforegoing description, and all changes which come within the meaning andrange of equivalency of the claims are therefore intended to be embracedtherein.

1. A method for providing downloading of Uniform Resource Locators(URLs) for a WEB browser running on a computer, the method comprisingthe steps of: utilizing a server to query the WEB browser when a userarrives at a WEB site hosted on the server to see if a URL componentexists on the computer; and providing the URL component, if the URLcomponent exists on the computer, with a current set of URLs associatedwith the WEB site.
 2. The method as claimed in claim 1, furthercomprising the steps of: providing the user with an option to installthe URL component on the computer if the URL component is not alreadyinstalled on the computer; and installing the URL component on thecomputer if the user chooses to install the URL component.
 3. The methodas claimed in claim 1, further comprising the step of: asking the userto select the URLs that the user wishes to download to compile the setof URLs provided to the URL component before the step of providing theURL component with the current set of URLs associated with the WEB site.4. The method as claimed in claim 1, further comprising the step of:asking the user whether or not to download the set of URLs associatedwith the WEB site before the step of providing the URL component withthe current set of URLs associated with the WEB site and making the stepof providing the URL component with the current set of URLs associatedwith the WEB site conditional on a response from the user.
 5. The methodas claimed in claim 4, wherein the step is performed by an item selectedfrom the group consisting of the WEB browser, the URL component, and aservlet that is installed on the server.
 6. The method as claimed inclaim 1, further comprising the step of providing the URL component anda set of URLs to the computer before when a software application isinstalled.
 7. The method as claimed in claim 1, wherein the step ofproviding the URL component with the current set of URLs associated withthe WEB site is performed automatically using metatags in HypertextMarkup Language (HTML) code of the WEB site.
 8. The method as claimed inclaim 1, further comprises the step of storing the set of URLs providedto the URL component in a data file associated with the WEB browser onthe computer of the user.
 9. The method as claimed in claim 8, whereinthe set of URLs are stored in the data file selected from the groupconsisting of a history data file, an auto-complete data file, and asite-map data file.
 10. The method as claimed in claim 1, furthercomprising the steps of: monitoring keystrokes of the user when the usertypes a URL in an address field of the WEB browser; and presenting theuser with a selection of URLs that begin with the keystrokes the userhas entered so far, the selection of URLs taken from the current set ofURLs provided to the URL component.
 11. The method as claimed in claim10, wherein the step of presenting the user with the selection of URLsis performed in a top down fashion such that the user navigates througha directory tree of the WEB site one level at a time, beginning onelevel below the URL the user has entered into the address field, toselect a URL that the user wishes to arrive at from the selection ofURLs.
 12. The method as claimed in claim 10, wherein the methodfunctions even if the user has not previously visited the WEB site withthe WEB browser that the user is using.
 13. A computer program producthaving a computer readable medium tangibly embodying computer executableinstructions for providing downloading of Uniform Resource Locators(URLs) for a WEB browser running on a computer, the computer programproduct comprising: computer executable instructions for utilizing aserver to query the WEB browser when a user arrives at a WEB site hostedon the server to see if a URL component exists on the computer; andcomputer executable instructions for providing the URL component with acurrent set of URLs associated with the WEB site.
 14. The computerprogram product as claimed in claim 13, further comprising: computerexecutable instructions for providing the user with an option to installthe URL component on the computer, if the URL component is not alreadyinstalled on the computer; and computer executable instructions forinstalling the URL component on the computer if the user chooses toinstall the URL component.
 15. A system for providing a WEB browser withUniform Resource Locators (URLs), the system comprising: a clientcomputer including the WEB browser for use by a user and a URLcomponent; and a server for providing WEB data to the client computer,wherein the server includes a URL downloader, the URL downloader beingresponsive to the URL component for downloading the URLs to the clientcomputer.
 16. The system as claimed in claim 15, wherein the URLcomponent comprises a plug-in, installed on the client computer.
 17. Thesystem as claimed in claim 15, wherein the URL component comprises aplug-in, being downloadable from the server.
 18. The system as claimedin claim 15, wherein the URL component is downloaded and installed inresponse to a user input on the client computer.
 19. The system asclaimed in claim 15, wherein the URLs are stored by the URL component ina data file associated with the WEB browser on the client computer. 20.The system as claimed in claim 19, wherein the data file is selectedfrom the group consisting of a history data file, an auto-complete datafile, and a site-map data file.